#ifndef _PH_TYPES_H_
#define _PH_TYPES_H_

typedef unsigned char		PhUInt8;			///< Unsigned 8-bit integer
typedef unsigned short		PhUInt16;			///< Unsigned 16-bit integer
typedef unsigned long		PhUInt32;			///< Unsigned 32-bit integer
typedef unsigned __int64	PhUInt64;			///< Unsigned 64-bit integer

typedef char				PhInt8;				///< Signed 8-bit integer
typedef short				PhInt16;			///< Signed 16-bit integer
typedef long   				PhInt32;			///< Signed 32-bit integer
typedef int 				PhInt;				///< Signed integer
typedef __int64				PhInt64;			///< Signed 64-bit integer

typedef wchar_t				PhOSChar;			///< Generic character string

typedef float				PhFloat32;			///< 32-bit floating point
typedef double				PhDouble64;			///< 64-bit floating point

#define PH_UINT_MAX			UINT_MAX			//<	 Maximum unsigned value

// For strings.
#define PH_MAX_PATH			256					///< Maximum path length.

#define	PHMATRIX			D3DXMATRIX
#define PHVEC2				D3DXVECTOR2
#define PHVEC3				D3DXVECTOR3
#define PHVEC4				D3DXVECTOR4


#endif